﻿using System;
using System.Data;
using System.Collections.Generic;
using CrazyTalk.Models;
namespace CrazyTalk.IDAL
{
    /// <summary>
    /// 接口层UserInfoBLL
    /// </summary>
    public interface IUserInfoDAL
    {
        /// <summary>
        /// 是否存在该记录
        /// </summary>
        bool Exists(string UserId);
        bool ExistsEmail(string email);
        /// <summary>
        /// 增加一条数据
        /// </summary>
        bool Add(UserInfo model);
        bool Add2(UserInfo model);
        /// <summary>
        /// 设置指定用户的状态
        /// </summary>
        /// <param name="userId">用户名</param>
        /// <param name="status">状态编号</param>
        /// <returns></returns>
        bool UpdateUserStatus(string userId, int status);
        /// <summary>
        /// 更新指定用户的父级用户
        /// </summary>
        /// <param name="userId">用户名</param>
        /// <param name="parentId">父级用户名</param>
        /// <returns></returns>
        bool UpdateParentId(string userId, string parentId);
        /// <summary>
        /// 更新一条数据
        /// </summary>
        bool Update(UserInfo model);
        bool UpdatePart(List<string> fields, List<object> values);
        /// <summary>
        /// 给对网吧用户的信用额度进行调整的相关处理，更新目标用户可用余额,信用额度；插入额度调整记录
        /// </summary>
        /// <param name="targetId">目标用户</param>
        /// <param name="operatorId">操作者</param>
        /// <param name="oldCredit">旧额度</param>
        /// <param name="newCredit">新额度</param>
        /// <param name="remark">操作备忘</param>
        /// <returns></returns>
        bool AdjustCredit(string targetId, string operatorId, decimal oldCredit, decimal newCredit, string remark);
        /// <summary>
        /// 给网吧用户充值
        /// </summary>
        /// <param name="targetId">目标用户</param>
        /// <param name="operatorId">操作用户</param>
        /// <param name="tradeMoney">涉及金额</param>
        /// <param name="tradeMoney">付款账户</param>
        /// <returns></returns>
        bool RechargeMoneyToCafe(string targetId, string operatorId, decimal tradeMoney,string payUserId);
        /// <summary>
        /// 给用户充值
        /// </summary>
        /// <param name="targetId">目标用户</param>
        /// <param name="operatorId">操作用户</param>
        /// <param name="tradeMoney">涉及金额</param>
        /// <returns></returns>
        bool RechargeMoney(string targetId, string operatorId, decimal tradeMoney, string CurUserId);
        /// <summary>
        /// 给用户充值
        /// </summary>
        /// <param name="targetId">目标用户</param>
        /// <param name="operatorId">操作用户</param>
        /// <param name="tradeMoney">涉及金额</param>
        /// <param name="gameId">游戏编号</param>
        /// <param name="gameArea">游戏区服编号</param>
        /// <param name="payUserId">使用的支付账户</param>        
        /// <returns></returns>
        bool RechargeMoney_Game(string targetId, string operatorId, decimal tradeMoney, int gameId, int gameArea, string curUserId, string payUserId);
        /// <summary>
        /// 用户在线支付
        /// </summary>
        /// <param name="targetId">目标用户</param>
        /// <param name="operatorId">操作用户</param>
        /// <param name="tradeMoney">涉及金额</param>
        /// <param name="gameId">游戏编号</param>
        /// <param name="gameArea">游戏区服编号</param>
        /// <param name="orderNo">订单号</param>
        /// <param name="bank">支付银行</param>
        /// <returns></returns>
        bool RechargeMoney_Game_OnLine(string targetId, string operatorId, decimal tradeMoney, int gameId, int gameArea, string orderNo, string bank, int payInterfaceId);
        /// <summary>
        /// 用户在线充值到平台
        /// </summary>
        /// <param name="targetId">目标用户</param>
        /// <param name="operatorId">操作用户</param>
        /// <param name="tradeMoney">涉及金额</param>
        /// <param name="orderNo">订单号</param>
        /// <param name="bank">支付银行</param>
        /// <returns></returns>
        bool RechargeMoney_Plat_OL(string targetId, string operatorId, decimal tradeMoney, string orderNo, string bank, int payInterfaceId);
        /// <summary>
        /// 用户在线充值到平台
        /// </summary>
        /// <param name="targetId">目标用户</param>
        /// <param name="operatorId">操作用户</param>
        /// <param name="tradeMoney">涉及金额</param>
        /// <param name="orderNo">订单号</param>
        /// <param name="bank">支付银行</param>
        /// <returns></returns>
        bool RechargeMoney_Plat_OL_Cafe(string targetId, string operatorId, decimal tradeMoney, string orderNo, string bank, int payInterfaceId);
        /// <summary>
        /// 退出网吧
        /// </summary>
        /// <param name="userId">指定的用户名</param>
        /// <param name="oldParentId">旧父级id</param>
        /// <returns></returns>
        bool ExitCafes(string userId, string oldParentId);
        /// <summary>
        /// 删除一条数据
        /// </summary>
        bool Delete(string UserId, string operatUser);
        bool DeleteList(List<string> UserIdlist);
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        UserInfo GetModel(string UserId);
        /// <summary>
        /// 获得数据列表
        /// </summary>
        DataSet GetList(List<string> fields, List<object> values);
        /// <summary>
        /// 获得数据列表(重载，与CafesInfos表联表查询网吧名)
        /// </summary>
        DataSet GetListUnion(List<string> fields, List<object> values);
        /// <summary>
        /// 获得数据列表(重载，与CafesInfos表联表查询推广员)
        /// </summary>
        DataSet GetListPromoter(List<string> fields, List<object> values);
        /// <summary>
        /// 获得数据列表(重载，与CafesInfos表联表查询网吧名,加入roleId方法)
        /// </summary>
        DataSet GetListUnion(List<string> fields, List<object> values, string roleId);
        /// <summary>
        /// 获得数据列表(重载，与CafesInfos表联表查询网吧名)
        /// </summary>
        DataSet GetListUnionCus(List<string> fields, List<object> values);
        /// <summary>
        /// 获得前几行数据
        /// </summary>
        DataSet GetList(int Top, List<string> fields, List<object> values, string filedOrder);
        //获取子账号列表
        DataSet GetListThrowItemList(List<string> fields, List<object> values);
        /// <summary>
        /// 获取子账号列表
        /// </summary>
        /// <param name="fields">请在定义中声明PRoleId(需要查询子账号的主账号ID)</param>
        /// <param name="values"></param>
        /// <returns></returns>
        DataSet GetAccountList(List<string> fields, List<object> values);
        int GetRecordCount(List<string> fields, List<object> values);
        int GetRecordCountUnionCredit(List<string> fields, List<object> values);
        DataSet GetListByPage(List<string> fields, List<object> values, string orderby, int startIndex, int endIndex);
        DataSet GetListByPageUnionCredit(List<string> fields, List<object> values, string orderby, int startIndex, int endIndex);
        /// <summary>
        /// 迭代查询指定用户下属所有账户，并且使用角色列表和分页进行限定 
        /// </summary>
        /// <param name="parentId">指定父级用户</param>
        /// <param name="roleId">限定角色编号</param>
        /// <param name="orderby">排序字段</param>
        /// <param name="pageStartIndex">分页行号开始</param>
        /// <param name="pageEndIndex">分页行号结束</param>
        /// <param name="rowCount">用于分页的总行数</param>
        /// <returns></returns>
        DataTable GetList7(string parentId, List<int> roleId, string orderby, int pageStartIndex, int pageEndIndex, out int rowCount);
        /// <summary>
        /// 返回输入的两个用户名是否为亲属关系
        /// </summary>
        /// <param name="parentId">父级用户</param>
        /// <param name="childId">子级用户</param>
        /// <returns></returns>
        bool IsFamily(string parentId, string childId);
        /// <summary>
        /// 返回输入的两个用户名是否为亲属关系
        /// </summary>
        /// <param name="parentId">父级用户</param>
        /// <param name="childId">子级用户</param>
        /// <returns></returns>
        bool IsLeader(string leaderId, string followerId);
        /// <summary>
        /// 返回输入用户是否拥有子级用户
        /// </summary>
        /// <param name="userId">需要查询的用户名</param>
        /// <returns>是/否</returns>
        bool HasChild(string userId);
        /// <summary>
        /// 获取父级用户名
        /// </summary>
        /// <param name="userId">需要查询的用户名</param>
        /// <returns></returns>
        string GetParentId(string userId);
        /// <summary>
        /// 获取父级角色ID
        /// </summary>     
        int GetParentRoleId(string userId);
        /// <summary>
        /// 根据输入的省市区，获取该地区的区域独代
        /// </summary>
        /// <param name="province">必填</param>
        /// <param name="city">-1表示仅查询省独代</param>
        /// <param name="area">-1表示仅查询市独代</param>
        /// <returns></returns>
        UserInfo GetAgent(int province, int city, int area);
        /// <summary>
        /// 获取用户角色
        /// </summary>      
        int GetUserRoleId(string userId);
        /// <summary>
        /// 判断是否是直营店下面的推广员
        /// </summary>     
        bool IsZhiyingdianTgy(string userId);
        /// <summary>
        /// 父子层级水平
        /// </summary>>
        void GetParentandSonLevel(string ParentId, string SonId, out int level);
        /// <summary>
        /// 返回上级用户数据列表
        /// </summary>    
        DataTable GetParentList(string UserId);
        /// <summary>
        /// 通过父级用户返回下一下所属的用户
        /// </summary>
        /// <param name="parentId">查询的父级账号</param>
        /// <param name="isAdmin">如果是系统管理员，则不显示玩家账号</param>
        /// <param name="orderby">默认采用CreateTime desc排序</param>
        /// <param name="isFilterShadow">是否过滤分身账号</param>
        /// <returns></returns>
        List<List<dynamic>> GetUserList2(string parentId, bool isAdmin, string orderby, bool isFilterShadow);
        /// <summary>
        /// 通过父级用户返回下一下所属的用户
        /// </summary>
        /// <param name="parentId"></param>
        /// <returns></returns>
        List<string> GetUserList(string parentId);
        /// <summary>
        /// 通过查询限制，返回用户名和姓名的列表
        /// </summary>        
        /// <param name="quserId">查询的用户名的前一部分</param>
        /// <param name="parentId">查询用户的父级用户名</param>
        /// <param name="limitCount">返回记录的条数</param>
        /// <param name="orderby">默认采用CreateTime desc排序</param>
        /// <returns></returns>
        List<string[]> GetUserList3(string quserId, string parentId, int limitCount, string orderby);
        /// <summary>
        /// 查询简单用户列表(显示少量字段)，可以选择是否包含所有上级用户
        /// </summary>
        /// <param name="containParent">是否包含所有上级用户</param>
        /// <param name="parentId">不可空 指定查询用户的父级用户</param>
        /// <param name="roleIdMax">不可空 返回的用户的角色编号的上限(不包含)，比如6，则小于玩家的用户</param>
        /// <param name="orderby">可空，默认为d.UserId 可以使用的排序字段有 d.UserId,d.RoleId,d.RealityName</param>
        /// <param name="startIndex">开始记录行号</param>
        /// <param name="endIndex">结束记录行号</param>
        /// <returns></returns>
        DataTable GetUserListSimple(bool containParent, string parentId, int roleIdMax, string orderby, int startIndex, int endIndex);
        /// <summary>
        /// 模糊查询简单用户列表(显示少量字段:UserId,RoleId,RealityName)
        /// 可以选择是否包含所有上级用户
        /// </summary>
        /// <param name="containParent">是否包含所有上级用户</param>
        /// <param name="parentId">不可空 指定查询用户的父级用户</param>
        /// <param name="tier">父级用户的层级，必须与@ParentId相匹配，玩家为0，推广员为1，实体网吧为2，连锁网吧为3，</param>
        /// <param name="userId">查询用户名的部分 不可空</param>
        /// <param name="roleIdMax">不可空 返回的用户的角色编号的上限(不包含)，比如6，则小于玩家的用户</param>
        /// <returns></returns>
        DataTable GetUserListSimple2(bool containParent, string parentId, int tier, string userId, int roleIdMax);
        /// <summary>
        /// 通过查询限制，返回用户名和姓名的列表
        /// </summary>        
        /// <param name="quserId">查询的用户名的前一部分</param>
        /// <param name="parentId">查询用户的父级用户名</param>
        /// <param name="limitCount">返回记录的条数</param>
        /// <param name="orderby">默认采用CreateTime desc排序</param>
        /// <returns></returns>
        List<dynamic[]> GetUserList4(string parentId, string orderby, int startIndex, int endIndex);
        /// <summary>
        /// 通过查询限制，返回实体网吧用户名和姓名的列表
        /// </summary>        
        /// <param name="quserId">查询的用户名的前一部分</param>
        /// <param name="parentId">查询用户的父级用户名</param>
        /// <param name="limitCount">返回记录的条数</param>
        /// <param name="orderby">默认采用CreateTime desc排序</param>
        /// <returns></returns>
        List<string[]> GetUserList5(string quserId, string parentId, int limitCount, string orderby);
        /// <summary>
        /// 通过查询限制，返回实体玩家用户名和昵称的列表
        /// </summary>        
        /// <param name="quserId">查询的用户名的前一部分</param>
        /// <param name="limitCount">返回记录的条数</param>
        /// <param name="orderby">默认采用CreateTime desc排序</param>
        /// <returns></returns>
        List<string[]> GetUserList6(string quserId, int limitCount, string orderby);
        /// <summary>
        /// 返回输入用户名下一下用户的总数
        /// </summary>
        /// <param name="parentId"></param>
        /// <returns></returns>
        int GetFirstChildCount(string parentId);
        int GetFirstChildCountPart(List<string> fields, List<object> values);
        /// <summary>
        /// 获取审核中的列表
        /// </summary>
        /// <param name="parentId"></param>
        /// <returns></returns>
        DataTable GetAuditingList(string parentId);
        DataSet GetAuditingListByPage(List<string> fields, List<object> values, string orderby, int startIndex, int endIndex);
        /// <summary>
        /// 返回指定父级用户的下两级的待审核列表
        /// </summary>
        /// <param name="parentId">指定的父级用户</param>
        /// <param name="orderby">排序语句，BankInfos为a.；UserInfo为b.，可以加上desc，比如a.LastUpdateTime desc，留空使用默认a.LastUpdateTime desc</param>
        /// <param name="startIndex">开始行号</param>
        /// <param name="endIndex">结束行号</param>
        /// <returns></returns>
        DataSet GetAuditingListByPage2(string parentId, string orderby, int startIndex, int endIndex);
        /// <summary>
        /// 返回指定父级用户的下1级的待审核列表
        /// </summary>
        /// <param name="parentId">指定的父级用户</param>
        /// <param name="orderby">排序语句，BankInfos为a.；UserInfo为b.，可以加上desc，比如a.LastUpdateTime desc，留空使用默认a.LastUpdateTime desc</param>
        /// <param name="startIndex">开始行号</param>
        /// <param name="endIndex">结束行号</param>
        /// <returns></returns>
        DataSet GetAuditingListByPage(string parentId, string orderby, int startIndex, int endIndex);
        /// <summary>
        /// 返回指定父级用户的下两级的待审核列表
        /// </summary>
        /// <param name="parentId">指定的父级用户</param>
        /// <param name="orderby">排序语句，BankInfos为a.；UserInfo为b.，可以加上desc，比如a.LastUpdateTime desc，留空使用默认a.LastUpdateTime desc</param>
        /// <param name="startIndex">开始行号</param>
        /// <param name="endIndex">结束行号</param>
        /// <returns></returns>
        DataSet GetAuditingListByPage2_BindCafe(string parentId, string orderby, int startIndex, int endIndex);
        /// <summary>
        /// 返回指定父级用户的下1级的待审核列表
        /// </summary>
        /// <param name="parentId">指定的父级用户</param>
        /// <param name="orderby">排序语句，BankInfos为a.；UserInfo为b.，可以加上desc，比如a.LastUpdateTime desc，留空使用默认a.LastUpdateTime desc</param>
        /// <param name="startIndex">开始行号</param>
        /// <param name="endIndex">结束行号</param>
        /// <returns></returns>
        DataSet GetAuditingListByPage_BindCafe(string parentId, string orderby, int startIndex, int endIndex);
        /// <summary>
        /// 返回指定父级用户的下1级的待审核列表
        /// </summary>
        /// <param name="targetUser">指定的待审核的用户</param>
        /// <param name="parentId">指定的父级用户</param>
        /// <param name="examiner">指定的审核跟进用户</param>
        /// <param name="orderby">排序语句，RoleInfo b,UserInfo a,UserExp d，留空使用默认a.LastUpdateTime desc</param>
        /// <param name="startIndex">开始行号</param>
        /// <param name="endIndex">结束行号</param>
        /// <returns></returns>
        DataTable GetExamineListByPage1(string targetUser, string parentId, string examiner, string orderby, int startIndex, int endIndex);
        /// <summary>
        /// 返回指定父级用户的下1级的待审核列表行数
        /// </summary>
        /// <param name="targetUser">指定的待审核的用户</param>
        /// <param name="parentId">指定的父级用户</param>
        /// <param name="examiner">指定的审核跟进用户</param>
        /// <returns></returns>
        int GetExamineListCount1(string targetUser, string parentId, string examiner);
        #region root审核列表查询
        /// <summary>
        /// 返回指定父级用户Root的待审核列表
        /// </summary>
        /// <param name="targetUser">指定的待审核的用户</param>
        /// <param name="parentId">指定的父级用户</param>
        /// <param name="examiner">指定的审核跟进用户</param>
        /// <param name="orderby">排序语句，RoleInfo b,UserInfo a,UserExp d，留空使用默认a.LastUpdateTime desc</param>
        /// <param name="startIndex">开始行号</param>
        /// <param name="endIndex">结束行号</param>
        /// <returns></returns>
        DataTable GetExamineListByPageRoot(string targetUser, string parentId, string examiner, string orderby, int startIndex, int endIndex);
        /// <summary>
        /// 返回指定父级用户Root的待审核列表行数
        /// </summary>
        /// <param name="targetUser">指定的待审核的用户</param>
        /// <param name="parentId">指定的父级用户</param>
        /// <param name="examiner">指定的审核跟进用户</param>
        /// <returns></returns>
        int GetExamineListCountRoot(string targetUser, string parentId, string examiner);
        #endregion
        #region 用户子孙级2层审核列表查询
        /// <summary>
        /// 返回指定用户子孙级2层的待审核列表
        /// </summary>
        /// <param name="targetUser">指定的待审核的用户</param>
        /// <param name="parentId">指定的父级用户</param>
        /// <param name="examiner">指定的审核跟进用户</param>
        /// <param name="orderby">排序语句，RoleInfo b,UserInfo a,UserExp d，留空使用默认a.LastUpdateTime desc</param>
        /// <param name="startIndex">开始行号</param>
        /// <param name="endIndex">结束行号</param>
        /// <returns></returns>
        DataTable GetExamineListByPage2(string targetUser, string parentId, string examiner, string orderby, int startIndex, int endIndex);
        /// <summary>
        /// 返回指定用户子孙级2层的待审核列表行数
        /// </summary>
        /// <param name="targetUser">指定的待审核的用户</param>
        /// <param name="parentId">指定的父级用户</param>
        /// <param name="examiner">指定的审核跟进用户</param>
        /// <returns></returns>
        int GetExamineListCount2(string targetUser, string parentId, string examiner);
        #endregion
        /// <summary>
        /// 获取指定父级用户及状态值的列表
        /// </summary>
        /// <param name="parentId"></param>
        /// <returns></returns>
        DataTable GetList(string parentId, int status);
        /// <summary>
        /// 通过父级用户返回下一下所属的用户
        /// </summary>
        /// <param name="parentId"></param>
        /// <returns></returns>
        DataTable GetUserListTable(string parentId);
        /// <summary>
        /// 返回网吧下面相关账户
        /// </summary>
        /// <param name="parentId">父账户</param>
        /// <param name="b_chain">连锁网络账户</param>
        /// <param name="b_chaiSon">连锁网吧子账户</param>
        /// <param name="b_cafe">实体网吧账户</param>
        /// <param name="b_cafeSon">实体网站子账户</param>
        /// <param name="b_cafeExtends">推广员账户</param>
        /// <returns></returns>
        DataTable GetAccountUserList(string parentId, bool b_chain, bool b_chaiSon, bool b_cafe, bool b_cafeSon, bool b_cafeExtends);
        /// <summary>
        /// 返回连锁网吧下面的网吧主账户 
        /// </summary>      
        DataTable GetCafeUserListByChain(string parentId);
        /// <summary>
        /// 返回实体网吧员工账户（包括自身账户)
        /// </summary>      
        DataTable GetCafeEmployeesList(string parentId);
        /// <summary>
        /// 返回实体网吧员工账户（不包括自身账户)
        /// </summary>
        DataTable GetCafeEmployeesList2(string parentId);
        /// <summary>
        ///  返回实体网吧推广员账户（包括自身账户)
        /// </summary>      
        DataTable GetCafeExtendList(string parentId);
        /// <summary>
        ///  返回实体网吧推广员账户（不包括自身账户)
        /// </summary>      
        DataTable GetCafeExtendList2(string parentId);
        /// <summary>
        /// 返回父级账户下面的子账户角色
        /// </summary>   
        DataTable GetUserFromParent(string parentid, string roleid);
        //user表的模糊查询
        List<UserInfo> GetCheckName(List<string> fields, List<object> values);
        #region 用户列表
        /// <summary>
        /// 查询我的玩家
        /// </summary>
        /// <param name="asstUserId">推广员用户名</param>
        /// <param name="user">玩家</param>
        /// <param name="type">玩家的查询类型</param>
        /// <param name="consumeMoneyStart">汇总金额最小值，如果输入0，则不采用下限</param>
        /// <param name="consumeMoneyEnd">汇总金额最大值，如果输入-1，则不采用上限</param>
        /// <param name="consumeDateStart">查询的交易开始时间，如果输入的是DateTime.MinValue，则不采用下限</param>
        /// <param name="consumeDateEnd">查询的交易结束时间，如果输入的是DateTime.MinValue，则不采用上限</param>
        /// <param name="startIndex">开始行号</param>
        /// <param name="endIndex">结束行号</param>
        /// <returns></returns>
        DataSet GetPlayerList(string asstUserId, string user, UserIdInputType type, decimal consumeMoneyStart, decimal consumeMoneyEnd, DateTime consumeDateStart, DateTime consumeDateEnd, int startIndex, int endIndex);
        /// <summary>
        /// 获取连锁公司下的网吧列表
        /// </summary>
        /// <param name="parentId">连锁公司用户名</param>
        /// <param name="cafesName">网吧名称，采用模糊搜索</param>
        /// <param name="roleIdList">网吧角色编号列表</param>
        /// <param name="indexStart">获取的开始行号</param>
        /// <param name="indexEnd">获取的结束行号</param>
        /// <returns></returns>
        DataSet GetCafesList(string parentId, string cafesName, List<int> roleIdList, int indexStart, int indexEnd);
        /// <summary>
        /// 获取代理下的成员列表
        /// </summary>
        /// <param name="parentId">代理用户名</param>
        /// <param name="userName">用户名称，采用模糊搜索</param>
        /// <param name="roleIdList">角色编号列表</param>
        /// <param name="indexStart">获取的开始行号</param>
        /// <param name="indexEnd">获取的结束行号</param>
        /// <returns></returns>
        DataSet GetMemberList(string parentId, string userName, List<int> roleIdList, int indexStart, int indexEnd);
        /// <summary>
        /// 获取网吧下的推广员列表
        /// </summary>
        /// <param name="parentId">代理用户名</param>
        /// <param name="userName">用户名称，采用模糊搜索</param>
        /// <param name="indexStart">获取的开始行号</param>
        /// <param name="indexEnd">获取的结束行号</param>
        /// <returns></returns>
        DataSet GetAsstList(string parentId, string userName, int indexStart, int indexEnd);
        #endregion
        #region 审核
        /// <summary>
        /// 获取审核列表_代理下的成员审核
        /// </summary>
        /// <param name="agentId">代理的用户名</param>
        /// <param name="lsRoleId">查询的待审核的角色编号列表</param>
        /// <param name="lsRoleId">查询的待审核的用户状态列表</param>
        /// <param name="indexStart">开始行号</param>
        /// <param name="indexEnd">结束行号</param>
        /// <returns></returns>
        DataSet GetExamineList(string parentId, List<int> lsRoleId, List<int> lsUserStatus, int indexStart, int indexEnd);
                /// <summary>
        /// 获取平台管理员的审核列表
        /// </summary>
        /// <param name="indexStart">开始行号</param>
        /// <param name="indexEnd">结束行号</param>
        /// <returns></returns>
        DataSet GetExamineList_Root(int indexStart, int indexEnd);
        /// <summary>
        /// 获取用户审核历史列表
        /// </summary>
        /// <param name="target">被审核的用户标识输入</param>
        /// <param name="type">被审核的用户标识输入类型</param>
        /// <param name="examineTimeStart">查询的审核时间起始</param>
        /// <param name="examineTimeEnd">查询的审核时间的结束</param>        
        /// <param name="agentId">代理的用户名</param>
        /// <param name="indexStart">开始行号</param>
        /// <param name="indexEnd">结束行号</param>
        /// <returns></returns>
        DataSet GetExamineHistoryList(string target, UserIdInputType type, DateTime examineTimeStart, DateTime examineTimeEnd, string agentId, int indexStart, int indexEnd);
        /// <summary>
        /// 获取审核列表
        /// </summary>
        /// <param name="parentId">网吧用户名</param>
        /// <param name="indexStart">开始行号</param>
        /// <param name="indexEnd">结束行号</param>
        /// <returns></returns>
        DataSet GetExamineList_Asst(string parentId, int indexStart, int indexEnd);
        #endregion
        /// <summary>
        /// 获取userinfo和agentArea联表数据（区域独代）
        /// </summary>
        /// <param name="fields"></param>
        /// <param name="values"></param>
        /// <returns></returns>
        DataSet GetList8(List<string> fields, List<object> values);
        /// <summary>
        /// 获取userinfo表数据（连锁公司）
        /// </summary>
        /// <param name="fields"></param>
        /// <param name="values"></param>
        /// <returns></returns>
        DataSet GetList9(List<string> fields, List<object> values);
    }
}
